package com.rshang.rsdp.service;

import com.rshang.rsdp.bean.DataGrid;
import com.rshang.rsdp.bean.Response;
import com.rshang.rsdp.entity.DmRsdlGsa;
import com.rshang.rsdp.entity.DmRsdlZhxx;

import java.util.HashMap;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 账号代码信息表 服务类
 * </p>
 *
 * @author zhangjun
 * @since 2017-08-20
 */
public interface IDmRsdlZhxxService extends IService<DmRsdlZhxx> {

    /**
     * 分页查询
     *
     * @param page    分页对象
     * @param request HttpServletRequest对象
     *
     * @return DataGrid
     */
    public DataGrid getManagePageList(Page<HashMap> page, HttpServletRequest request);

    /**
     * 新增保存方法
     *
     * @param request HttpServletRequest对象
     * @param czr     操作人
     *
     * @return Response
     */
    public Response addSave(HttpServletRequest request, String czr);

    /**
     * 根据id获取账户信息
     *
     * @param request HttpServletRequest对象
     *
     * @return DmRsdlGsa
     */
    public DmRsdlZhxx get(HttpServletRequest request);


    /**
     * 编辑保存方法
     *
     * @param request HttpServletRequest对象
     * @param czr     操作人
     *
     * @return Response
     */
    public Response editSave(HttpServletRequest request, String czr);

    /**
     * 删除保存方法
     *
     * @param request HttpServletRequest对象
     * @param czr     操作人
     *
     * @return Response
     */
    public Response deleteSave(HttpServletRequest request, String czr);

    /**
     * 校验账号编号
     *
     * @param request HttpServletRequest对象
     *
     * @return Response
     */
    public Response checkZhbh(HttpServletRequest request);

    /**
     * 根据账户类型获取账户信息
     *
     * @param zhlx 账户类型
     *
     * @return List<HashMap>
     */
    public List<HashMap> getZhListByType(@Param("zhlx") String zhlx);

    /**
     * 模板上传
     *
     * @param file 上传文件对象
     * @param czr  操作人
     *
     * @return Response
     */
    public Response importSave(MultipartFile file, String czr);
}
